package com.link.ppt.Model;

import com.link.ppt.Model.Bean.BaseBean;
import com.link.ppt.Model.Bean.KeywordsBean;
import com.link.ppt.Model.Bean.PPTBean;
import com.link.ppt.Model.Bean.PPTDetailBean;
import com.link.ppt.Model.Bean.PPTResponseBean;
import com.link.ppt.Model.Bean.ScorePPT;

import java.util.HashMap;
import java.util.Map;

import okhttp3.RequestBody;
import rx.Observable;

/**
 * Created by liucxu on 2018/1/29.
 */

public interface IPPTModel {
    Observable<PPTBean> RequestPPTStream(String keyWord, int pageNum);
    Observable<PPTBean> RequestMyPublishStorePPTStream(int pageNum,boolean isMyPublish);
    Observable<ScorePPT> LikePPTPoint(int point,String ppid);
    Observable<PPTDetailBean> QueryPPTDetail(String pptId);
    Observable<BaseBean> FavPPT(String pptId,boolean isFav);
    Observable<BaseBean> ReportPPT(String pptId);
    Observable<BaseBean> SubscribePPT(String toUserId);
    Observable<BaseBean> DeletePPT(String pptId);
    Observable<BaseBean> PublishPPTUrl(String pptUrl);
    Observable<BaseBean> CommonRequest(HashMap<String,String> params);
    Observable<PPTResponseBean> RequestImageId(HashMap<String,String> params);
    Observable<BaseBean> PublishPPTWithPic(Map<String, RequestBody> params);
    Observable<KeywordsBean> RequestHotKeywords();
}
